package cn.com.huzo.repository.trade;

import cn.com.huzo.model.entities.trade.MasterProductionScheduleLinesTrackEntity;
import huzofw.repository.GenericRepository;
import java.sql.Date;
import java.util.List;

/**
 * 产品计划跟踪项目数据访问对象接口。
 *
 * @author 吴旭
 */
public interface MasterProductionScheduleLinesTrackRepository extends GenericRepository<MasterProductionScheduleLinesTrackEntity, String> {

    /**
     * 保存
     *
     * @param itemList 要保存的数据
     * @return
     */
    Integer insert(List<MasterProductionScheduleLinesTrackEntity> itemList);

    /**
     * 同步更新跟踪项目计划。
     * <p>
     * @param headerId 产品计划标识
     * @param parentLinesId 产品计划明细标识
     * @param itemId 对应的计划条目
     * @param plan 计划日
     * @param actual 履行日
     * @param status 状况
     * @param updatedBy 更新者
     * @return
     */
    Integer syncUpdateTrackItem(Long headerId, String parentLinesId, Long itemId,
            Date plan, Date actual, String status, Long updatedBy);

    /**
     * 根据产品计划明细标识删除
     *
     * @param parentLinesId 产品计划明细标识
     * @return 影响的行数
     */
    Integer deleteByParentLinesId(String parentLinesId);
}
